#define TILE_WIDTH 60
#define TILE_HEIGHT 30
#define TILE_WIDTH_HALF 30
#define TILE_HEIGHT_HALF 15

#define TILE_EMPTY 127
#define TILE_HOUSE_E 60
#define TILE_HOUSE_E_Max 80
#define TILE_HOUSE_S 80
#define TILE_HOUSE_S_Max 90

#define TILE_ICON_BUILD 120

#define TILE_HOUSE 60
#define TILE_HOUSE2 61
#define TILE_STONEWORK 62
#define TILE_WOODCUTTER 63
#define TILE_ENCAMPMENT 90
#define TILE_WAREHOUSE 80

#define TILE_ROAD 5
#define TILE_ROAD_N 7
#define TILE_ROAD_E 8
#define TILE_ROAD_W 9
#define TILE_ROAD_S 4
#define TILE_ROAD_NS 11
#define TILE_ROAD_EW 10
#define TILE_ROAD_NW 14
#define TILE_ROAD_SE 15
#define TILE_ROAD_SW 17
#define TILE_ROAD_NE 18
#define TILE_ROAD_NEW 6
#define TILE_ROAD_NSE 12
#define TILE_ROAD_SEW 16
#define TILE_ROAD_NSW 19
#define TILE_ROAD_NSEW 13

/* Karte erstellen */
void World_Init(int WidthHeight);

/*  Karte zeichnen und berechnen */
void World_Process();

/* Setzten einer Tile */
void World_SetTile(int X, int Y, int Data);

/* Tile abfragen */
int World_Tile(int X, int Y);

/* Straße erstellen Iso */
void World_RoadIso(int mX, int mY);

/* Straße erstellen 2D */
void World_Road(int X, int Y);

/* Zufall */
float Random();
int RandomRange( int low, int high );

extern int WorldHeight;
extern int WorldWidth;

#define XIso(X,Y) (((X-(WorldWidth*30)+(Y*30/15))) / 60)
#define YIso(X,Y) (( ( (Y*2) - (X-(WorldWidth*30) ) ))/60)
#define X2d(X,Y) (X*30 - Y*30) + (WorldWidth*30)
#define Y2d(X,Y) (X*30 + Y*30)/2
